package com.example.shopp_2301.utils

import android.content.Context
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.example.shopp_2301.R

/**
 * 图片加载框架工具类
 */
object GlideUtils {
    //普通
    fun loadImage(context:Context,url:String,imageview:ImageView){
        Glide.with(context)
            .load(url)
            .error(R.drawable.ic_launcher_background)//图片网址错误，显示这张
            .placeholder(R.drawable.ic_circle)//图片过大，加载缓慢时，先显示这张，等加载完成后，显示正确图片
            .skipMemoryCache(false)//是否跳过缓存
            .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)//缓存策略机制
            .into(imageview)
    }
    //圆形
    fun loadCircleImage(context:Context,url:String,imageview:ImageView){
        Glide.with(context)
            .load(url)
            .error(R.drawable.ic_launcher_background)//图片网址错误，显示这张
            .placeholder(R.drawable.ic_circle)//图片过大，加载缓慢时，先显示这张，等加载完成后，显示正确图片
            .skipMemoryCache(false)//是否跳过缓存
            .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)//缓存策略机制
            .circleCrop()
            .into(imageview)
    }
    //圆角
    fun loadCornerImage(context:Context,url:String,imageview:ImageView,radius:Int){
        Glide.with(context)
            .load(url)
            .error(R.drawable.ic_launcher_background)//图片网址错误，显示这张
            .placeholder(R.drawable.ic_circle)//图片过大，加载缓慢时，先显示这张，等加载完成后，显示正确图片
            .skipMemoryCache(false)//是否跳过缓存
            .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)//缓存策略机制
            .transform(CenterCrop(),RoundedCorners(radius))
            .into(imageview)
    }
}